//
//  main.c
//  C语言指针讲解
//
//  Created by Song on 2018/3/15.
//  Copyright © 2018年 Song. All rights reserved.
//

// 李明杰C语言指针讲解博客
// https://www.cnblogs.com/mjios/archive/2013/03/16/2963645.html

// 测试代码：  百度知道: https://zhidao.baidu.com/question/1610166403372924547.html?entry=qb_uhome_tag
#include <stdio.h>
int main(int argc, const char * argv[]) {
    
    //        int a = 1;
    //        int *p;
    //        p = &a; // int *p = &a;
    
    //        printf("%x,%x\n",&*p,*&p); // 5fbff68c,5fbff68c
    //        printf("%x\n",&p); // 5fbff680
    //        printf("%x\n",*p); // 1
    //        printf("%x\n",&a); // 5fbff68c
    //    //    printf("%x\n",*a); // 报错
    //        printf("%x\n",*&a); // 1
    //    //    printf("%x\n",&*a); // 报错
    //        printf("%x\n",p); // 5fbff68c
    //        printf("%x\n",a); // 1
    
/*
 p ：存储的是a的地址
 &*p ：*p取p的值1，&取1的地址5fbff68c
 *&p ：&p取p的地址5fbff680，然后这个地址的值是 5fbff68c
 *p ：取p指针指向地址的值 1
 &p ：取p指针的地址5fbff680
 */
    
    
    int i = 2;
    char c = 1;
    //        char *p = &c; // 1
    int *p = &c; // 513
    
    //        printf("%d\n",*j);
    printf("%d\n",*p);
    //        printf("%x\n",&p);
    //        printf("%x\n",&a);
    
    return 0;
}






